package com.milepost.workflow.common.enums;

/**
 * @author huarf
 * @Description
 * @create 2022-03-28 1:12
 */
public enum TaskTypeEnum {

    START("start", "开始节点，标记流程开始，一个流程只能有一个开始节点。"),
    END("end", "结束节点，标记流程结束，一个流程只能有一个结束节点。"),
    TASK("task", "普通任务，只能指定一个人办理。"),
    AND_TASK("andTask", "并任务，可以指定一个或多个办理人，所有人都需要办理任务才能完成。所有人都通过才算通过；>0个人没办理则等待；所有人都办理完并且>0个人不通过则算作不通过。"),
    OR_TASK("orTask", "或任务，可以指定一个或多个办理人，只需要一个人办理，谁先办理算谁的，即以最先办理的人为准。"),
    POINT_TASK("pointTask", "流程发起人指定，即任务的办理人需要由流程发起人指定，指给谁就由谁来办理，只能指定一个办理人。");

    private final String type;
    private final String des;

    TaskTypeEnum(String type, String des) {

        this.type = type;
        this.des = des;
    }

    public String getType() {

        return type;
    }

    public String getDes() {

        return des;
    }

    public static TaskTypeEnum of(String type) {
        for (TaskTypeEnum v :TaskTypeEnum.values()){
            if (v.getType() == type) {
                return v;
            }
        }
        return null;
    }
}
